/* Die Klasse Medium ist eine Dummie-Klasse, sie simuliert das 
 * Speichern einer Medium
 * 
 * Datei: Medium.java                  Autor:   Antonia Wagner 
 * Datum: 16.11.11                     Version: 0.2 
 * 
 * Historie: 16.11.11 v0.1 von Autor erstellt, Methoden implementiert
 *           20.11.11 v0.2 von Autor weitere Methoden implementiert
 * 
 */

package personenverwaltung.dummieklassen;

import java.util.ArrayList;

import personenverwaltung.Ausleihe;
import personenverwaltung.Reservierung;


public class Exemplar
{

  private boolean istAusgeliehen = false;
  private boolean istReserviert = false;
  private boolean istGesperrt = false;
  private ArrayList<Reservierung> reservierungListe = new ArrayList<Reservierung> ();
  private ArrayList<Ausleihe> ausleihListe = new ArrayList<Ausleihe> ();


  public Exemplar (EAN13 ean, Standort standort, Medium medium,
      int regaliId, int etage, int abschnitt)
  {

  }


  public boolean istAusgeliehen ()
  {
    return istAusgeliehen;
  }


  public boolean istReserviert ()
  {
    return istReserviert;
  }


  public void reservieren ()
  {
    istReserviert = true;
  }


  public void ausleihen ()
  {
    istAusgeliehen = true;
  }


  public void rueckgabe ()
  {
    istAusgeliehen = false;
  }


  public void reservierungaufheben ()
  {
    istReserviert = false;
  }


  public boolean istGesperrt ()
  {
    return istGesperrt;
  }


  public void sperren ()
  {
    istGesperrt = true;
  }


  public void entsperren ()
  {
    istGesperrt = false;
  }


  public ArrayList<Reservierung> gibReservierungen ()
  {
    return reservierungListe;
  }


  public void reservierungHinzufuegen (Reservierung r)
  {
    reservierungListe.add (r);
  }


  public void reservierungLoeschen (int index)
  {
    reservierungListe.remove (index);
  }


  public ArrayList<Ausleihe> gibAusleihListe ()
  {
    return ausleihListe;
  }


  public void ausleihVorgangHinzufuegen (Ausleihe a)
  {
    ausleihListe.add (a);
  }


  public void ausleihVorgangLoeschen (int index)
  {
    ausleihListe.remove (index);
  }


  public Medium gibMedium ()
  {
    return new Medium ();
  }

}
